Computers today connect to and disconnect from networks much more frequently than they did in the past. Laptops move around among one or more office networks and the home network. As a mobile computer with a radio network link passes from one radio access point to another, its network connection is, in effect, dropped and then reinstated.
Some computers can automatically sense when they are connected to a network and when that network connection changes. These computers are called “media sense aware.” Media sense awareness is very useful in many common computing scenarios because computers, applications, and system services may want to alter their behavior depending upon the network to which the computer is connected. For example, when a non-media sense aware computer's link is disconnected from one network and connected to another, an application that transmits secure information may not realize the change and may inadvertently leak that secure information out onto the new network. Likewise, a non-media sense aware system service that obeyed the bandwidth reservation guarantees given by a Quality of Service manager on a previous network may inadvertently violate the bandwidth guarantees on the new network. Mobile computers are specially sensitive to problems if they are not media sense aware because of their frequent network disconnects and subsequent connects.
Some media sense aware computers, applications, and system services can only respond to network connect and disconnect events. U.S. patent application Ser. No. 09/652,501, “Systems and Methods for Resynchronization and Notification in Response to Network Media Events,” filed on Aug. 31, 2000, expands on that basic functionality, allowing response to a broad range of network events. However, even when media sense aware applications and services know about a change in the status of their network connections, they may not have enough information to know how to respond, unless a user manually reconfigures them for their changed circumstances. The applications and services may be able to enumerate the network interfaces available on a computer but do not know to which logical network an interface connects nor whether multiple interfaces connect to the same network. This information is often needed, however, when the applications and services attempt to select an optimal configuration to use with the new network connectivity. They are left having to discover network information themselves before they can respond appropriately. The problem is especially acute for mobile computers that frequently move among different networks and for computers for which more than one network connection is available, such as multi-homed computers that may support both a LAN connection and a dial-out link.
Forcing each application and system service to discover network connectivity information creates further problems because there are multiple ways in which logical network connections may be determined, depending upon the types of the connections.